Viazul (http://www.viazul.com/) provides several buses a day from Camagüey, Havana, Santa Clara and Santiago de Cuba. There is also service to Trinidad and Varadero.
There is an overnight train to/from Havana on alternate days, and there may be a very early morning train to Santa Clara and Cienfuegos that returns in the afternoon. Sancti Spiritus is not on the main line. Check that the trains are running in advance.